[General]
SyntaxVersion=2
BeginHotkey=121
BeginHotkeyMod=0
PauseHotkey=0
PauseHotkeyMod=0
StopHotkey=123
StopHotkeyMod=0
RunOnce=1
EnableWindow=
MacroID=3ef227fc-7d87-4209-90d5-7909b31cdd96
Description=可暂停的个税申报21-1月（含确认新规定）
Enable=1
AutoRun=0
[Repeat]
Type=0
Number=1
[SetupUI]
Type=2
QUI=
[Relative]
SetupOCXFile=
[Comment]

[Script]


'注意：
'1.我使用的电脑是联想IdeaPad Yoga13，屏幕分辨率为1600X900，按键精灵的点击操作是根据屏幕坐标的，用其他分辨率电脑会不能正常点击。另外，注意自己机器的配置和性能，可能需要修改delay的时间。适合自己电脑才行。
'2.因为单位切换窗口默认显示前面4家，所以，前面4家我们手动申报。（主要是我懒没写这部分代码：前4次用鼠标坐标定位点击就能切换，用变量记录运行4次后来切换到下面的点击下拉滑动条末端按钮（不是滑块）方式）

'运行过程：
'1.（已经登录了一家单位之后的界面状态）正常打开的程序界面，点击单位管理，在弹出的单位列表中选择单位（有一个判断，是否已经申报，是则继续点击切换下一家），点击进入， 输入密码，点击登录。
'2.进入界面，点击“综合所得申报”，点击“填写”，在提示窗口依次点击按钮，最后“复制上月数据”，（这里有一个判断上月是否有数据，有则复制，无则切换单位）。复制完毕， 点击“返回”。
'3.点击“税款计算”，等待完成，点击“申报表报送”，点击“发送”，等待发送完成，点击“获取反馈”。然后，点击“单位管理”，进入下一个循环。

'使用方法：
'1.先下载安装按键精灵，http://www.anjian.com/。把代码复制到按键精灵脚本编辑框里；
'2.需要首先设置xuhao，mima等变量，就是从哪家开始，就把它的序号赋值给xuhao，目的是通过cishu = (xuhao-4)*2，计算出切换单位时，下滑块的点击次数。xuhao必须大于等于5，因为单位切换窗口默认显示前面4家。-_-||
'3.另外可以设定一个accoutmax值，申报次数等于accoutmax时，就弹出对话框，告诉设置的次数已到，还要不要继续。到哪家停止，就把他的序号-4得到的值赋值给accout就行。
'4.设置完，按键精灵为调试模式。然后就可以首先登录任意一家，进入软件正常首页窗口。然后F10启动程序，然后就会自动切换到第xuhao家，依次执行，直到次数等于accoutmax时弹出窗口提醒。（为啥这么麻烦，因为程序写得简单：程序复杂，人简单；程序简单，人复杂。-_-||）

Dim firstNum, lastNum,cishu, accoutmax, accout, mima
firstNum = 14 '自动脚本处理的第一家公司序号，目前默认为5，因为前4家不用程序申报。（xuhao值需要手动修改，其实可以使用窗口的，汗-_-||，）
lastNum  = 74 '最后一家的序号
cishu = (firstNum-4)*2 '计算出切换单位时，需要点击滑动条末端的次数
accoutmax = lastNum-firstNum+1 '执行的最大遍数，最后一家序号减去第一家的序号是两家之间，再加一个1得到，因为第一次循环就计数1。
mima = "Aa123456" '这里根据自己单位情况，设置统一的密码


'定义进入循环的开头，密码框输入操作开始。既是程序模拟操作的开头，也是以后每次循环操作的开头。
Rem back

'下面这里仅仅是利用弹出窗口暂停执行，让我注意到已经多少次，是不是要停止了。（没有加入自动停止功能，将就用吧，-_-||）
If accout = accoutmax Then
    MsgBox"已经"&accout&"次"
End If

'下面这个是点击企业管理，准备切换
Delay 3000 '增加反应时间

MoveTo 1435, 43
Delay 500
LeftClick 1
Delay 475
Delay 6
Delay 1003
Delay 7
Delay 1007
Delay 8

'移动到滑条的最下端的按钮上
MoveTo 1228, 557
Delay 1007
Delay 5
Delay 474
Delay 5
Delay 474

'开始模拟鼠标点击滑条末端
LeftClick cishu / 2 '分两次进行点击滑条末端的操作，防止系统跟不上。
Delay 2000
LeftClick cishu/2 '分两次进行点击滑条末端的操作，防止系统跟不上。

'切换单位完成，cishu初始值在最开始赋值为cishu = (xuhao-4)*2，xuhao默认5，就是点击2次是到第5家。现在要加上2，为下一次切换做准备。
cishu = cishu + 2 'cishu是鼠标点击次数，为下一次切换做准备。
accout = accout+1 '计数开始有值为1.每循环一次加1。

Rem clickAgain
Dim xuanze, xuanze2
xuanze = GetPixelColor(930, 544)
xuanze2 = GetPixelColor(907,543)
If xuanze = "333333" and xuanze2= "333333" Then
    '==========判断是否已经申报，如果是，则继续点击2下，==========
    LeftClick 2 '相当于提前完成一个切换，所以，下面要为下一家做准备。
    cishu = cishu + 2 'cishu是鼠标点击次数，为下一次切换做准备。
    accout = accout+1 '计数开始有值为1.每循环一次加1。

    Goto clickAgain '如果已经报过，点击完，继续跳回检测

End If

'移动到“进入”上，点击进入
MoveTo 1186, 543
Delay 657
LeftClick 1
Delay 243
Delay 7
Delay 1005
Delay 5
Delay 1007
Delay 5
'========================================
'进入界面后，开始输入密码登录
'========================================

Delay 125 '延迟是为了等待电脑的响应。
'点击密码输入框，并输入密码，下面操作是模拟手工输入，“Aa123456”.
MoveTo 710, 471
Delay 726
LeftClick 1
Delay 85


'输入密码
Call Plugin.Sys.SetCLB(mima) '把mima变量设置到粘贴板上，下面使用模拟ctl+v的方式粘贴
KeyDown 17, 1
KeyPress 86, 1
KeyUp 17, 1
KeyUp 86,1

'关闭键盘按钮
MoveTo 978, 656
Delay 219
LeftClick 1

'点击登录按钮
MoveTo 846, 639
Delay 266
LeftClick 1

Delay 6000'增加反应时间
Delay 6000'增加反应时间
'Delay 6000'增加反应时间
'Delay 6000'增加反应时间

'Delay 5000'额外增加反应时间额外11-2
'Delay 5000'额外增加反应时间额外11-2

'点击投诉界面的“确定”按钮
MoveTo 802, 524
Delay 1009


Delay 82
LeftClick 1
Delay 896
Delay 5
Delay 896

'点击“综合所得”项目
MoveTo 111, 221
Delay 1009
Delay 8
Delay 82
LeftClick 1
Delay 896
Delay 5


Delay 3000'额外增加反应时间额外11-2


'点击“填写”按钮
MoveTo 1428, 288
Delay 1007
Delay 4

LeftClick 1'点击
Delay 296
Delay 2

'========================
'MsgBox "标记1"
'========================


Delay 1000
Delay 7

'点击第一个提示的“确定”按钮
MoveTo 809, 529
Delay 886
LeftClick 1
Delay 86
Delay 3


'========================
'点击第二个提示“确定”按钮
'========================
Delay 1000
MoveTo 765, 507
Delay 706
LeftClick 1
Delay 315
Delay 2

'========================
'MsgBox "选择复制上个月"
'========================
Delay 1000
MoveTo 786, 395
Delay 836
LeftDown 1
Delay 49
Delay 5
Delay 41
LeftUp 1

'增加等待时间
Delay 2000

'增加判断，如果遇到不用申报个税的单位，没有历史工资记录，那么“选择复制上个月”就是灰色的，根据屏幕颜色会有一个判断，如果没有上月记录，就跳出后面操作，直接进行切换单位操作。

Dim fuzhi, fuzhi2
fuzhi = GetPixelColor(592, 414)
fuzhi2 = GetPixelColor(600,415)
If fuzhi = "F48542" and fuzhi2= "F48542" Then
    '==========以下是按键精灵录制的内容-关闭窗口，到达选择单位窗口==========
    MoveTo 1062, 345
    Delay 780
    LeftClick 1
    Delay 110
    Delay 2

    Goto back '如果，不用申报个税，就跳回循环的开头，切换下一家。

End If

'========================
'MsgBox "确认复制"
'========================
MoveTo 771, 544
Delay 967
Delay 6
Delay 69
LeftClick 1
Delay 863
Delay 5

'========================
'点击“关闭”复制结果的窗口
'========================
MoveTo 1012, 584
Delay 895
LeftClick 1
Delay 37
Delay 1
Delay 997



//MessageBox "暂停等待"
'========================
'新增的6万确认按钮，一共点击6个
'========================

'========================
'6万确认1
'========================
//
//Delay 1000
//Delay 7
//MoveTo 797, 615
//Delay 886
//LeftClick 1
//Delay 86
//Delay 3

'========================
'6万确认2
'========================
//
//Delay 1000
//Delay 7
//MoveTo 378, 346
//Delay 886
//LeftClick 1
//Delay 86
//Delay 3
//
//'========================
//'6万确认3
//'========================
//
//Delay 1000
//Delay 7
//MoveTo 797, 766
//Delay 886
//LeftClick 1
//Delay 86
//Delay 3
//
//'========================
//'6万确认4
//'========================
//
//Delay 1000
//Delay 7
//MoveTo 763, 511
//Delay 886
//LeftClick 1
//Delay 86
//Delay 3
//
//'========================
//'6万确认5
//'========================
//
//Delay 1000
//Delay 7
//MoveTo 803,501
//Delay 886
//LeftClick 1
//Delay 86
//Delay 3
//
//
//'========================
//'6万确认6
//'========================
//
//Delay 1000
//Delay 7
//MoveTo 807, 763
//Delay 886
//LeftClick 1
//Delay 86
//Delay 3
//


'========================
'返回按钮,
'========================
MoveTo 264, 195
Delay 991
Delay 5
Delay 133
LeftClick 1


Delay 2000 '11-2额外增加

'========================
'切换到“税款计算”
'========================

MoveTo 724, 152
Delay 581
LeftClick 1
Delay 343
Delay 6
Delay 1003
Delay 1010
Delay 4
Delay 1006
Delay 5
Delay 1009
Delay 5
Delay 1006
Delay 4
Delay 1006
Delay 5
Delay 1008
Delay 5
Delay 1007
Delay 5
Delay 1006
Delay 5
Delay 1010
Delay 5
Delay 1007
Delay 5
Delay 1016
Delay 4
Delay 1008
Delay 5
Delay 1009
Delay 5
//Delay 1009
//Delay 4
//Delay 1264
//Delay 1
//Delay 754
//Delay 5
//Delay 1008
//Delay 5
//Delay 1007
//Delay 4

'========================
'切换到“申报表报送”
'========================
Delay 3008'11-2特外增加
Delay 2000 '11-2额外增加

MoveTo 1399, 155
Delay 534
LeftClick 1
Delay 676
Delay 1
Delay 781
Delay 18

Delay 3008 '11-2特外增加

'========================
'点击“发送申报”
'========================

MoveTo 1507, 258
Delay 1055
LeftClick 1
Delay 22
Delay 3
Delay 29
LeftUp 1
Delay 896
Delay 5
Delay 1007
Delay 5
Delay 1009
Delay 5
Delay 1009
Delay 5
Delay 1012
Delay 4
Delay 1008
Delay 5
Delay 1007
Delay 5
Delay 1008
Delay 5
Delay 1010
Delay 4
Delay 1010
Delay 4
Delay 1010
Delay 5
Delay 1012
Delay 4
Delay 1010
Delay 5
Delay 1009
Delay 4
Delay 1010
Delay 5
Delay 1008
Delay 7
Delay 1286
Delay 2
Delay 781



'========================
'获取反馈
'防止系统慢，跳过获取反馈，再加3秒。
'========================
Delay 3000

'==================
'2020年12月申报时发现新增窗口“是否自动申报”，回车取消
KeyPress "Enter", 1
Delay 1000


LeftClick 1
Delay 23
Delay 4
Delay 24
Delay 911
Delay 5
Delay 1009
Delay 16

Goto back '这里是跳转到下一个循环操作